import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:gluz/app/common/bottom_modal_sheet.dart';
import 'package:gluz/app/common/extension/string_extension.dart';
import 'package:gluz/app/data/area_entity.dart';

import '../../../../app_session.dart';
import '../../../routes/app_pages.dart';

class HomeHdController extends GetxController {
  // 当前选中的Tab
  final RxInt selectedTabIndex = 0.obs;

  // TabController
  TabController? tabController;

  // 地区选择
  final RxString fromCity = '请选择城市'.obs;
  final RxString toCity = '请选择城市'.obs;

  // 功能图标数据
  final List<Map<String, dynamic>> functionIcons = [
    {
      'icon': 'assets/images/home_hd/home_hd_icon0.png',
      'title': '车源信息',
      'badge': 15,
    },
    {
      'icon': 'assets/images/home_hd/home_hd_icon1.png',
      'title': '货源信息',
      'badge': 15,
    },
    {
      'icon': 'assets/images/home_hd/home_hd_icon2.png',
      'title': '企业排行',
      'badge': 0,
    },
    {
      'icon': 'assets/images/home_hd/home_hd_icon3.png',
      'title': '专业代办',
      'badge': 0,
    },
    {
      'icon': 'assets/images/home_hd/home_hd_icon4.png',
      'title': '视频教程',
      'badge': 0,
    },
    {
      'icon': 'assets/images/home_hd/home_hd_icon5.png',
      'title': '采购寻单',
      'badge': 15,
    },
  ];

  // 最新货源数据
  final List<Map<String, dynamic>> freightList = [
    {
      'id': '1',
      'publishTime': '2024-12-21 10:35',
      'category': '大件运输、通关',
      'fromCity': '哈尔滨',
      'fromProvince': '黑龙江省',
      'toCity': '莫斯科',
      'toState': '诺克萨斯州',
      'viaCount': 3,
      'cargoInfo': '货物信息: 办公用品 / 2吨 / 4立方米 / 木架卷',
      'tracking': '货物运踪: 否',
    },
    {
      'id': '2',
      'publishTime': '2024-12-21 10:35',
      'category': '大件运输、通关',
      'fromCity': '哈尔滨',
      'fromProvince': '黑龙江省',
      'toCity': '莫斯科',
      'toState': '诺克萨斯州',
      'viaCount': 3,
      'cargoInfo': '货物信息: 办公用品 / 2吨 / 4立方米 / 木架卷',
      'tracking': '货物运踪: 需要',
    },
  ];

  String get vipImg {
    if (app.isLangRU()) {
      return 'assets/images/home_hd/home_hd_vip_img_ru.png';
    }
    return 'assets/images/home_hd/home_hd_vip_img.png';
  }

  String get translateImg {
    if (app.isLangRU()) {
      return 'assets/images/home_hd/home_hd_translate_ru.png';
    }
    return 'assets/images/home_hd/home_hd_translate.png';
  }

  String get transportImg {
    if (app.isLangRU()) {
      return 'assets/images/home_hd/home_hd_transport_ru.png';
    }
    return 'assets/images/home_hd/home_hd_transport.png';
  }

  String get liveBtnImg {
    if (app.isLangRU()) {
      return 'assets/images/home_hd/home_hd_btn_ru.png';
    }
    return 'assets/images/home_hd/home_hd_btn.png';
  }

  @override
  void onInit() {
    super.onInit();
  }

  @override
  void onReady() {
    super.onReady();
  }

  @override
  void onClose() {
    super.onClose();
  }

  /// 切换Tab
  void onTabChanged(int index) {
    selectedTabIndex.value = index;
    tabController?.animateTo(index);
  }

  /// 点击选择城市
  void onTapFromCity() {
    BottomModalSheet.showAreaSector((AreaEntity areaEntity) {
      fromCity.value = areaEntity.name;
    });
  }

  /// 点击选择城市
  void onTapToCity() {
    BottomModalSheet.showAreaSector((AreaEntity areaEntity) {
      toCity.value = areaEntity.name;
    });
  }
  /// 交换城市
  void swapCities() {
    final temp = fromCity.value;
    fromCity.value = toCity.value;
    toCity.value = temp;
  }

  /// 货源搜索
  void onFreightSearch() {
    // TODO: 实现货源搜索功能
    print('货源搜索');
  }

  /// 立即发货
  void onShipNow() {
    String url = '/pages/publish/start'.baseUrlForHD().webQueryParams();
    Get.toNamed(
      Routes.WEBVIEW,
      arguments: {
        'url': url,
      },
    );
  }

  /// 功能图标点击
  void onFunctionIconTap(int index) {
    // TODO: 实现功能图标点击
    print('点击功能图标: ${functionIcons[index]['title']}');
  }

  /// 会员中心点击
  void onMemberCenterTap() {
    // TODO: 实现会员中心功能
    print('会员中心');
  }

  /// 翻译按钮点击
  void onTranslateTap() {
    // TODO: 实现翻译功能
    print('翻译');
  }

  /// 查看详情
  void onViewDetails(String freightId) {
    // TODO: 实现查看详情功能
    print('查看详情: $freightId');
  }
}
